import { CellType, Exits } from "./Types";

// 常用的出口配置
const EXITS = {
  NONE: { up: false, right: false, down: false, left: false },
  ALL: { up: true, right: true, down: true, left: true },
} as const;

// 单个格子的数据结构
interface CellData {
  type: CellType;
  exits: Exits;
}

// 关卡数据结构
interface LevelConfig {
  gridSize: number;
  cells: CellData[][];
}

// 存储所有关卡数据
export const LEVEL_DATA: LevelConfig[] = [
  // 第一关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Character, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
      ],
    ],
  },
  // 第二关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Tree, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
    ],
  },

  // 第三关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
    ],
  },
  // 第四关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Character, exits: EXITS.ALL },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
      ],
    ],
  },
  // 第五关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
      ],
      [
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Character, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
    ],
  },
  // 第六关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
    ],
  },
  // 第七关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
    ],
  },
  // 第八关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
      ],
    ],
  },
  // 第九关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
      ],
      [
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
      ],
    ],
  },
  // 第十关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
    ],
  },
  // 第十一关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
      ],
    ],
  },
  // 第十二关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
      ],
    ],
  },
  // 第十三关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
    ],
  },
  // 第十四关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
      ],
      [
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
    ],
  },
  // 第十五关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
      ],
      [
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
    ],
  },
  // 第十六关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
    ],
  },
  // 第十七关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Character, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
      ],
    ],
  },
  // 第十八关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
      ],
    ],
  },
  // 第十九关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
      ],
    ],
  },
  // 第二十关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
      ],
    ],
  },
  // 第二十一关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
    ],
  },
  // 第二十二关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
      ],
      [
        { type: CellType.Character, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
    ],
  },
  // 第二十三关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Home, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
    ],
  },
  // 第二十四关
  {
    gridSize: 4,
    cells: [
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
        { type: CellType.Home, exits: EXITS.ALL },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Empty, exits: EXITS.NONE },
      ],
      [
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Character, exits: EXITS.ALL },
        { type: CellType.Empty, exits: EXITS.NONE },
        { type: CellType.Tree, exits: EXITS.NONE },
      ],
    ],
  },
];
